Skip to content

feat(agent): add scenario input model and assumptions - #358

Merged
JSONbored merged 3 commits into
JSONbored:mainfrom
kiannidev:feat/issue-286-scenario-input-model
Jun 4, 2026
Merged

feat(agent): add scenario input model and assumptions#358
JSONbored merged 3 commits into
JSONbored:mainfrom
kiannidev:feat/issue-286-scenario-input-model

Conversation

@kiannidev

Copy link
Copy Markdown
Contributor

Fixes #286

Summary

  • Adds src/scenarios/input-model.ts — deterministic agent scenario input model for repo-specific planning before individual simulations.
  • Represents scenario type, repo config, issue/PR state, branch state, and signal buckets for facts, assumptions, estimates, and unavailable signals.
  • Provides buildScenarioInput, parseAgentScenarioInput, serializeScenarioInputPublic, and serializeScenarioInputPrivate helpers safe for MCP/API use.
  • Enforces metadata-only local branch inputs (assertScenarioLocalBranchInputSafe) and public-safe serialization (no wallet/hotkey/trust-score/payout/farming language).
  • Does not implement ranking, strategy rendering, or autonomous PR behavior (advisory-only flags are fixed literals).

Scope

  • This PR is focused and does not mix unrelated backend, UI, MCP, docs, dependency, and deploy changes.
  • This follows CONTRIBUTING.md and does not reintroduce GitHub Pages, VitePress, site/, or CNAME.
  • I linked an issue, or this is small enough that the summary explains why an issue is not needed.

Validation

Verified locally with npm run test:ci on Node v24.15.0 (repo requires Node >= 22 per .nvmrc).

  • git diff --check
  • npm run actionlint
  • npm run typecheck
  • npm run test:coverage locally; global coverage stays at or above 97% for lines, statements, functions, and branches (aim for 98%+ branch coverage locally so CI variance does not fail near the threshold)
  • npm run test:workers
  • npm run build:mcp
  • npm run test:mcp-pack
  • npm run ui:openapi:check
  • npm run ui:lint
  • npm run ui:typecheck
  • npm run ui:build
  • npm audit --audit-level=moderate
  • New or changed behavior has unit/integration tests for new branches, fallback paths, and sanitizer boundaries

If any required check was skipped, explain why:

  • npm run test:raycast skipped — no Raycast package changes in this PR.

New tests: test/unit/scenario-input-model.test.ts — complete/partial/unavailable inputs, bucket kind validation, public vs private serialization, source-upload guard, forbidden-language property checks.

Safety

  • No secrets, wallet details, hotkeys, coldkeys, user PATs, private keys, raw trust scores, private rankings, or private maintainer evidence are exposed.
  • Public GitHub text stays sanitized, low-noise, and does not imply compensation guarantees or optimization tactics.
  • Auth, cookie, CORS, GitHub App, Cloudflare, or session changes include negative-path tests.
  • API/OpenAPI/MCP behavior is updated and tested where needed.
  • UI changes use live API data or real empty/error/loading states, not production mock/demo fallbacks.
  • Visible UI changes include screenshots or a short recording.
  • Public docs/changelogs are updated where needed; changelogs are only edited for release-prep PRs.

Notes

Define deterministic agent scenario inputs with fact/assumption/estimate/unavailable
buckets, public-safe serialization, and fail-closed local branch metadata guards.

Fixes JSONbored#286

@JSONbored JSONbored left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kiannidev this looks ready from this pass.

A few notes:

  • The scenario input model is cleanly scoped to shared planning data and does not overreach into ranking or autonomous behavior.
  • The public/private serializers and source-upload guard are the right safety boundaries.
  • The PR body includes the full validation matrix and a clear skipped-check rationale.

No code changes are requested from this review pass.

@dosubot dosubot Bot added the lgtm label Jun 4, 2026
@JSONbored
JSONbored merged commit fcd623a into JSONbored:main Jun 4, 2026
4 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in gittensory - v1 roadmap Jun 4, 2026
@JSONbored JSONbored added gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier. and removed feature gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. labels Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.

Projects

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

feat(agent): add scenario input model and assumptions

2 participants